package com.gmrz.uaf.protocol.v1.schema;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.google.inject.Inject;
import com.google.inject.name.Named;

import java.util.List;

public class UpdateAuthRequest {

    @SerializedName("header")
    @Expose
    private OperationHeader operationHeader;

    @SerializedName("challenge")
    @Expose
    private ServerChallenge serverChallenge;

    @Expose
    private Policy policy;

    public OperationHeader getOperationHeader() {
        return this.operationHeader;
    }

    @Inject
    public void setOperationHeader(@Named("update") OperationHeader operationHeader) {
        this.operationHeader = operationHeader;
    }

    public UpdateAuthRequest withOperationHeader(OperationHeader operationHeader) {
        this.operationHeader = operationHeader;
        return this;
    }

    public ServerChallenge getServerChallenge() {
        return serverChallenge;
    }

    public void setServerChallenge(ServerChallenge serverChallenge) {
        this.serverChallenge = serverChallenge;
    }

    public Policy getPolicy() {
        return policy;
    }

    public void setPolicy(Policy policy) {
        this.policy = policy;
    }

}
